package com.foreknow.demo6;

/**
 *
 * 抽象类(abstract class):如果一个类中有一个类或多个抽象方法，那么这个类就要声明为抽象类
 * 1.抽象类中的抽象方法只有方法的声明没有实现 public abstract void login(String name);
 * 2.子类负责实现抽象类中的抽象方法
 * 3.抽象类中可以写抽象方法也可以写非抽象方法，可以写变量也可以写常量 (实际应用中包含都是抽象方法)
 * 4.抽象类是不能被实例化的(不能new)
 * 5.抽象方法不能为static
 */
public abstract class Person {
    char a=0;


    /**
     * 注册
     * @param ruser  注册用户名
     * @param rpassword  注册密码
     *
     */
    public abstract boolean register(String ruser ,String rpassword);
    /**
     * 登录
     * @return true 登录成功   false 失败
     */
    public abstract boolean login(Person person);

    /**
     * 根据id查一个person信息
     * @param id  用户id
     * @return  Person 对象
     */
    public abstract Person search(String id);

    /**
     * 查询所有用户信息
     * @return
     */
    public abstract  Person[] searchAll();

    /**
     * 根据id删除某一个person的信息
     * @param id
     */
    public abstract int deleteById(String id);

}
